home *** CD-ROM | disk | FTP | other *** search
- global InvoiceFormTemplate, pgProvinceCode, taxGST, taxPST, taxPiggy, listEditable, listInduhvidual, immutableInvoices, mutableInvoices
-
- on clearNewInvoiceFields
- put EMPTY into member "field:Customer:Job"
- put "Service Invoice" into member "field:Form Template"
- InvoiceFormTemplate = "Service Invoice"
- put EMPTY into member "field:Date"
- put EMPTY into member "field:Bill To"
- put EMPTY into member "field:Ship To"
- put EMPTY into member "field:P.O. No."
- put EMPTY into member "field:Terms"
- put EMPTY into member "field:Rep"
- put EMPTY into member "field:Ship date"
- put EMPTY into member "field:Via"
- put EMPTY into member "field:F.O.B."
- repeat with i = 1 to 4
- put EMPTY into member ("field:Item" & string(i))
- put EMPTY into member ("field:Qty" & string(i))
- put EMPTY into member ("field:Desc" & string(i))
- put EMPTY into member ("field:Rate" & string(i))
- put EMPTY into member ("field:Amount" & string(i))
- put EMPTY into member ("field:Tax" & string(i))
- end repeat
- put EMPTY into member "field:Customer Message"
- put EMPTY into member "field:Memo"
- put "0.00" into member "GST value"
- put "0.00" into member "PST value"
- put EMPTY into member "Total value"
- put "0.00" into member "Balance value"
- t = immutableInvoices.count + mutableInvoices.count
- put string(t + 1) into member "field:Invoice #"
- end
-
- on fillInInvoiceFields invoiceList
- put getProp(invoiceList, #CustomerJob) into member "field:Customer:Job"
- put getProp(invoiceList, #FormTemplate) into member "field:Form Template"
- InvoiceFormTemplate = getProp(invoiceList, #FormTemplate)
- put getProp(invoiceList, #InvDate) into member "field:Date"
- put getProp(invoiceList, #InvNumber) into member "field:Invoice #"
- put getProp(invoiceList, #BillTo) into member "field:Bill To"
- put getProp(invoiceList, #ShipTo) into member "field:Ship To"
- put getProp(invoiceList, #PONum) into member "field:P.O. No."
- put getProp(invoiceList, #Terms) into member "field:Terms"
- put getProp(invoiceList, #Rep) into member "field:Rep"
- put getProp(invoiceList, #ShipDate) into member "field:Ship date"
- put getProp(invoiceList, #Via) into member "field:Via"
- put getProp(invoiceList, #FOB) into member "field:F.O.B."
- put getProp(invoiceList, #CustMess) into member "field:Customer Message"
- put getProp(invoiceList, #Memo) into member "field:Memo"
- tList = getProp(invoiceList, "ItemList")
- if tList = VOID then
- tList = []
- end if
- tVATtotal = 0.0
- repeat with i = 1 to tList.count
- put getProp(tList[i], #InvItem) into member ("field:Item" & string(i))
- put getProp(tList[i], #InvQty) into member ("field:Qty" & string(i))
- put getProp(tList[i], #InvDesc) into member ("field:Desc" & string(i))
- put getProp(tList[i], #InvRate) into member ("field:Rate" & string(i))
- put getProp(tList[i], #InvAmount) into member ("field:Amount" & string(i))
- put getProp(tList[i], #InvTax) into member ("field:Tax" & string(i))
- tcalc = 0.0
- if getProp(tList[i], #InvTax) = "S" then
- tcalc = (value(getProp(tList[i], #InvAmount)) * 0.17499999999999999) + 0.0
- tVATtotal = tVATtotal + tcalc
- end if
- put string(tcalc) into member ("field:VAT" & string(i))
- end repeat
- member("GST value").text = string(tVATtotal)
- reCalcInvoice()
- end
-
- on saveNewInvoice
- if listInduhvidual < 0 then
- idx = mutableInvoices.length
- else
- idx = listInduhvidual
- end if
- corpse = [:]
- corpse.addProp(#CustomerJob, member("field:Customer:Job").text)
- corpse.addProp(#FormTemplate, member("field:Form Template").text)
- corpse.addProp(#InvDate, member("field:Date").text)
- corpse.addProp(#InvNumber, member("field:Invoice #").text)
- corpse.addProp(#BillTo, member("field:Bill To").text)
- corpse.addProp(#ShipTo, member("field:Ship To").text)
- corpse.addProp(#PONum, member("field:P.O. No.").text)
- corpse.addProp(#Terms, member("field:Terms").text)
- corpse.addProp(#Rep, member("field:Terms").text)
- corpse.addProp(#ShipDate, member("field:Ship date").text)
- corpse.addProp(#Via, member("field:Via").text)
- corpse.addProp(#FOB, member("field:F.O.B.").text)
- corpse.addProp(#CustMess, member("field:Customer Message").text)
- corpse.addProp(#Memo, member("field:Memo").text)
- corpseLine = []
- repeat with i = 1 to 4
- if member("field:Item" & string(i)).text <> EMPTY then
- corpseLineX = [:]
- corpseLineX.addProp(#InvItem, member("field:Item" & string(i)).text)
- corpseLineX.addProp(#InvQty, member("field:Qty" & string(i)).text)
- corpseLineX.addProp(#InvDesc, member("field:Desc" & string(i)).text)
- corpseLineX.addProp(#InvRate, member("field:Rate" & string(i)).text)
- corpseLineX.addProp(#InvAmount, member("field:Amount" & string(i)).text)
- corpseLineX.addProp(#InvTax, member("field:Tax" & string(i)).text)
- corpseLine.add(corpseLineX)
- end if
- end repeat
- corpse.addProp(#itemList, corpseLine)
- if listEditable = "TRUE" then
- if listInduhvidual < 0 then
- mutableInvoices.add(corpse)
- else
- mutableInvoices[listInduhvidual] = corpse
- end if
- end if
- end
-
- on reCalcInvoice
- end
-
- on reCalcInvoice2
- sprGrid = []
- t = [:]
- t.addProp(#Qty, 79)
- t.addProp(#Pri, 81)
- t.addProp(#Amt, 82)
- t.addProp(#Tax, 83)
- sprGrid.add(t)
- t = [:]
- t.addProp(#Qty, 85)
- t.addProp(#Pri, 87)
- t.addProp(#Amt, 88)
- t.addProp(#Tax, 89)
- sprGrid.add(t)
- t = [:]
- t.addProp(#Qty, 91)
- t.addProp(#Pri, 93)
- t.addProp(#Amt, 94)
- t.addProp(#Tax, 95)
- sprGrid.add(t)
- t = [:]
- t.addProp(#Qty, 97)
- t.addProp(#Pri, 99)
- t.addProp(#Amt, 100)
- t.addProp(#Tax, 101)
- sprGrid.add(t)
- sprGST = 69
- sprPST = 72
- sprTot = 73
- sprBal = 74
- tGST = 0.0
- tPST = 0.0
- tTotal = 0.0
- repeat with i = 1 to 4
- tq = value(sprite(sprGrid[i].Qty).member.text)
- if tq <= 0 then
- tq = 1
- end if
- tot = 0.0
- stot = EMPTY
- if sprite(sprGrid[i].Pri).member.text <> EMPTY then
- tot = (value(sprite(sprGrid[i].Pri).member.text) * tq) + 0.0
- stot = string(tot)
- end if
- sprite(sprGrid[i].Amt).member.text = stot
- tGSRate = 0.0
- case sprite(sprGrid[i].Tax).member.text of
- "S", "G":
- tGSRate = taxGST
- otherwise:
- tGSRate = 0.0
- end case
- tPSRate = 0.0
- case sprite(sprGrid[i].Tax).member.text of
- "S", "P":
- tPSRate = taxPST
- otherwise:
- tPSRate = 0.0
- end case
- tGST = tGST + (tot * tGSRate / 100)
- if taxPiggy = "TRUE" then
- tmp = tot + tGST
- tPST = tPST + (tmp * tPSRate / 100)
- else
- tPST = tPST + (tot * tPSRate / 100)
- end if
- tTotal = tTotal + tot
- end repeat
- tTotal = tTotal + tGST + tPST + 0.0
- sprite(sprGST).member.text = string(tGST)
- sprite(sprPST).member.text = string(tPST)
- if tTotal > 0 then
- sprite(sprTot).member.text = string(tTotal)
- else
- sprite(sprTot).member.text = EMPTY
- end if
- sprite(sprBal).member.text = string(tTotal)
- end
-